<template>
  <div class="school">
    <h2>学校名称：{{ name }}</h2>
    <h2>学校地址：{{ address }}</h2>
  </div>
</template>

<script>
import pubsub from "pubsub-js";

export default {
  name: "SchoolItem",
  data() {
    return {
      name: "合肥大学",
      address: "HEFEI",
    };
  },
  mounted() {
    // console.log("SchoolItem", this);
    // 绑定自定义事件到全局事件总线上，在另外一个组件上触发
    // this.$bus.$on("hello", (data) => {
    //   console.log("我是school组件，收到数据：", data);
    // });

    // 还是要使用匿名函数或者是在methods中定义一个函数
    this.pubId = pubsub.subscribe("hello", (msgName, data) => {
      // console.log(this);
      console.log("发布的Hello消息，被回调执行了", data);
    });
  },
  // 建议在销毁当前组件实例之前，解绑这个全局事件总线
  beforeDestroy() {
    // this.$bus.$off("hello");
    pubsub.unsubscribe(this.pubId);
  },
};
</script>

<style scoped lang="less">
.school {
  background-color: skyblue;
  padding: 5px;
}
</style>
